#pragma once

#include "../Core/IDisposable.h"

#include "VertexBufferAttributes.h"
#include "IndexBuffer.h"

namespace Renderer
{
	class VertexArray : public Core::IDisposable
	{
	public:
		virtual VertexBufferAttributes* Attributes() = 0;

		virtual Renderer::IndexBuffer* GetIndexBuffer() = 0;

		virtual void SetIndexBuffer(Renderer::IndexBuffer* indexBuffer) = 0;

		bool DisposeBuffers() const { return _disposeBuffers; }

		void DisposeBuffers(bool val) { _disposeBuffers = val; }


	protected:
		bool _disposeBuffers;
	};
}